Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / android / app / src / test / java / com / meshchatx / RemoteBackendUrlTest.java

Displaying Raw • Download


android/app/src/test/java/com/meshchatx/RemoteBackendUrlTest.java e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 2.62 KB

Tff7b72package T7ee787com.meshchatxTb4b4b4;

Tff7b72import T7ee787org.junit.AssertTb4b4b4;
Tff7b72import T7ee787org.junit.TestTb4b4b4;

Tff7b72public Tff7b72class T56d364RemoteBackendUrlTest Tb4b4b4{

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffnormalize_emptyMeansLocalTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Tff7b72nullTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffnormalize_acceptsHttpLanOriginTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertEqualsTb4b4b4(
Ta5d6ff"Ta5d6ffhttp://192.168.1.10:9337Ta5d6ff"Tb4b4b4,
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ffhttp://192.168.1.10:9337/Ta5d6ff"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertEqualsTb4b4b4(
Ta5d6ff"Ta5d6ffhttps://mesh.example:8443/meshchatxTa5d6ff"Tb4b4b4,
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ffHTTPS://Mesh.Example:8443/meshchatx/Ta5d6ff"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffnormalize_rejectsUnsafeSchemesAndUserInfoTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ffjavascript:alert(1)Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6fffile:///sdcard/xTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ffhttps://user:pass@192.168.1.10:9337Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertNullTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3normalizeTb4b4b4(Ta5d6ff"Ta5d6ffnot a urlTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffresolveEffectiveUrl_defaultsToLocalTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertEqualsTb4b4b4(
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3LOCAL_BACKEND_URLTb4b4b4,
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3resolveEffectiveUrlTb4b4b4(Tff7b72nullTb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertEqualsTb4b4b4(
Ta5d6ff"Ta5d6ffhttp://10.0.0.2:8000Ta5d6ff"Tb4b4b4,
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3resolveEffectiveUrlTb4b4b4(Ta5d6ff"Ta5d6ffhttp://10.0.0.2:8000Ta5d6ff"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffmatchesBackend_requiresSameOriginTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertTrueTb4b4b4(
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3matchesBackendTb4b4b4(
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337/Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337Ta5d6ff"
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertTrueTb4b4b4(
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3matchesBackendTb4b4b4(
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337/#/settingsTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337Ta5d6ff"
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertFalseTb4b4b4(
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3matchesBackendTb4b4b4(
Ta5d6ff"Ta5d6ffhttps://192.168.1.10.evil:9337/Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337Ta5d6ff"
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertFalseTb4b4b4(
Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3matchesBackendTb4b4b4(
Ta5d6ff"Ta5d6ffhttps://example.com/Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffhttps://192.168.1.10:9337Ta5d6ff"
Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Test
Tff7b72public Tffa657void Td2a8ffisLoopbackHost_detectsLocalHostsTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3AssertTb4b4b4.Te6edf3assertTrueTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3isLoopbackHostTb4b4b4(Ta5d6ff"Ta5d6ff127.0.0.1Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertTrueTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3isLoopbackHostTb4b4b4(Ta5d6ff"Ta5d6fflocalhostTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3AssertTb4b4b4.Te6edf3assertFalseTb4b4b4(Te6edf3RemoteBackendUrlTb4b4b4.Te6edf3isLoopbackHostTb4b4b4(Ta5d6ff"Ta5d6ff192.168.1.10Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────